package LeetCode;

public class No226 {
    public TreeNode invertTree(TreeNode root) {
        reverse(root);
        return root;
    }

    public void  reverse(TreeNode node){
        if(node==null||node.left==null&&node.right==null) return;
        if(node.left!=null&&node.right!=null){
            TreeNode temp = node.left;
            node.left=node.right;
            node.right=temp;
            reverse(node.left);
            reverse(node.right);
        }else if(node.left==null&&node.right!=null){
            node.left=node.right;
            node.right=null;
            reverse(node.left);
        }else if(node.left!=null&&node.right==null){
            node.right=node.left;
            node.left=null;
            reverse(node.right);
        }
    }
}
